// Author: wsfuyibing <682805@qq.com>
// Date: 2025-05-14

package kind

// ArcadeAdminState
// 钓场管理员状态.
type ArcadeAdminState int

const (
	ArcadeAdminStateCreated ArcadeAdminState = iota
	ArcadeAdminStateEnabled
	ArcadeAdminStateDisabled
)

var (
	arcadeAdminStateTexts = map[ArcadeAdminState]string{
		ArcadeAdminStateCreated:  "新建",
		ArcadeAdminStateEnabled:  "启用",
		ArcadeAdminStateDisabled: "停用",
	}
	arcadeAdminStateUnknownText = "未知"
	arcadeAdminStateFlags       = map[ArcadeAdminState]string{
		ArcadeAdminStateCreated:  "new",
		ArcadeAdminStateEnabled:  "enabled",
		ArcadeAdminStateDisabled: "disabled",
	}
	arcadeAdminStateUnknownFlag = "unknown"
)

func (o ArcadeAdminState) Flag() string {
	if str, ok := arcadeAdminStateFlags[o]; ok {
		return str
	}
	return arcadeAdminStateUnknownFlag
}

func (o ArcadeAdminState) Int() int         { return int(o) }
func (o ArcadeAdminState) IsEnabled() bool  { return o == ArcadeAdminStateEnabled }
func (o ArcadeAdminState) IsDisabled() bool { return o == ArcadeAdminStateDisabled }

func (o ArcadeAdminState) Text() string {
	if str, ok := arcadeAdminStateTexts[o]; ok {
		return str
	}
	return arcadeAdminStateUnknownText
}
